package Day_0224.SpringAnnotation;

/**
 * @author zxc
 * @date 2023/02/24 18:51
 **/
public class Spring_DataAccess {
    public static void main(String[] args) {
        /**
         * Spring 数据访问
         * ===》
         * 一，解释对象/关系映射集成模块（--- ORM模块）
         * 1.Spring 通过提供ORM模块，支持我们在直接JDBC之上使用一个对象/关系映射映射(ORM)工具，
         * 2.Spring 支持集成主流的ORM框架，如Hiberate，JDO和 iBATIS，JPA，TopLink，JDO，OJB 。
         * 3.Spring的事务管理，支持以上所有ORM框架及JDBC。
         *
         * 二，解释JDBC抽象和DAO模块
         * 1.通过使用JDBC抽象和DAO模块，保证数据库代码的简洁，并能避免数据库资源错误关闭导致的问题，
         * 它在各种不同的数据库的错误信息之上，提供了一个统一的异常访问层。
         * 2.它还利用Spring的AOP 模块给Spring应用中的对象提供事务管理服务。
         *
         * 三，spring DAO 的作用？
         * 1.Spring DAO（数据访问对象）使得 JDBC，Hibernate 或 JDO 这样的数据访问技术更容易以一种统一的方式工作。
         * 2.这使得用户容易在持久性技术之间切换。它还允许您在编写代码时，无需考虑捕获每种技术不同的异常。
         *
         * 四，spring JDBC API 中存在哪些类？
         * （1）JdbcTemplate
         * （2）SimpleJdbcTemplate
         * （3）NamedParameterJdbcTemplate
         * （4）SimpleJdbcInsert
         * （5）SimpleJdbcCall
         *
         * 五，谈一谈对于JdbcTemplate的理解
         * ===》
         * JdbcTemplate 类提供了很多便利方法
         * （1）把数据库数据转变成基本数据类型或对象，
         * （2）执行写好的或可调用的数据库操作语句，
         * （3）提供自定义的数据错误处理。
         *
         * 六，Spring支持的事务管理类型
         * ===》
         * Spring支持两种类型的事务管理：
         * （1）编程式事务管理：这意味你通过编程的方式管理事务，给你带来极大的灵活性，但是难维护。
         * （2）声明式事务管理：这意味着你可以将业务代码和事务管理分离，你只需用注解和XML配置来管理事务。
         *
         * 七，Spring事务的实现方式和实现原理
         * ===》
         * 1.Spring事务的本质，其实就是 数据库对事务的支持，没有数据库的事务支持，spring是无法提供事务功能的。
         * 2.真正的数据库层的事务提交和回滚是通过binlog或者redo log实现的。
         *
         *
         */
    }
}
